Previously, when a timeout occurred while waiting for the next multiline log, the plugin raised a `TimeoutError` via `emit_error_event`.
This caused the remaining buffered logs—most notably the last line of log outputs—to be dropped or incorrectly routed.
While the plugin provides a `timeout_label` option to route logs on timeout, users often use it without realizing they must explicitly configure a
`<label>` block to catch and handle the rerouted logs.
Without this awareness, it simply results in silent data loss.
This commit changes the behavior to log an info message and emit the buffered record normally using `router.emit` when no `timeout_label` is set,
ensuring no logs are lost by default.
Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
Previously, when a timeout occurred while waiting for the next multiline log, the plugin raised a
TimeoutErrorviaemit_error_event.This caused the remaining buffered logs—most notably the last line of log outputs—to be dropped or incorrectly routed.
While the plugin provides a
timeout_labeloption to route logs on timeout, users often use it without realizing they must explicitly configure a<label>block to catch and handle the rerouted logs. Without this awareness, it simply results in silent data loss.This commit changes the behavior to log an info message and emit the buffered record normally using
router.emitwhen notimeout_labelis set, ensuring no logs are lost by default.Fixes #109
Fixes #124
Fixes #94
Fixes #87
Fixes #84
Fixes #63